<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>OCILIB (C and C++ Driver for Oracle): Direct Path loading</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OCILIB (C and C++ Driver for Oracle)
   &#160;<span id="projectnumber">4.2.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>About</span></a></li>
      <li><a href="modules.html"><span>Documentation</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___ocilib_c_apidirect_path.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Direct Path loading<div class="ingroups"><a class="el" href="group___ocilib_c_api.html">C API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>OCILIB (from version 3.2.0) support the OCI direct Path API.</p>
<p>Actual implementation of direct path API does not support the following elements :</p><ul>
<li>Objects data types (User Defined Types and Object References)</li>
<li>Object tables</li>
<li>Nested tables</li>
<li>SQL String functions</li>
</ul>
<p>All scalar data types (numerics, characters and date/time), including LOBs and LONG types are supported</p>
<dl class="section user"><dt>Oracle direct API features (from Oracle Documentation)</dt><dd></dd></dl>
<p>The direct path load interface allows an application to access the direct path load engine of the Oracle database server to perform the functions of the Oracle SQL*Loader utility. This functionality provides the ability to load data from external files into Oracle database objects, either a table or a partition of a partitioned table. The OCI direct path load interface has the ability to load multiple rows by loading a direct path stream which contains data for multiple rows.</p>
<dl class="section user"><dt>Oracle direct API limitation (from Oracle Documentation)</dt><dd>The direct path load interface has the following limitations which are the same as SQL*Loader:<ul>
<li>triggers are not supported</li>
<li>check constraints are not supported</li>
<li>referential integrity constraints are not supported</li>
<li>clustered tables are not supported</li>
<li>loading of remote objects is not supported</li>
<li>user-defined types are not supported</li>
<li>LOBs must be specified after all scalar columns</li>
<li>LONGs must be specified last</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd></dd></dl>
<p>Its recommended to use direct path interface with an Oracle client that is the same version than the database. With version &lt; 10g, it is mandatory regarding that it causes segmentation faults and it's known from Oracle that advices to use the same version for client and server (see metalink KB)</p>
<dl class="section user"><dt>How to use direct path</dt><dd></dd></dl>
<ul>
<li>1 : Create a direct path handle with <a class="el" href="group___ocilib_c_apidirect_path.html#ga33415cbda0a997c10ae0815256701935" title="Create a direct path object. ">OCI_DirPathCreate()</a></li>
<li>2 : Set (optional) some direct path load attributes</li>
<li>3 : Describe the columns to load with <a class="el" href="group___ocilib_c_apidirect_path.html#ga37fecbbc3ecaa6c3ecfe33539aef1f69" title="Describe a column to load into the given table. ">OCI_DirPathSetColumn()</a></li>
<li>4 : Populate data with <a class="el" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry. ">OCI_DirPathSetEntry()</a></li>
<li>5 : Convert the data with <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a></li>
<li>6 : Load the data into the database with <a class="el" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format. ">OCI_DirPathLoad()</a></li>
<li>7 : Repeat step 4,5,6 + reset the stream with <a class="el" href="group___ocilib_c_apidirect_path.html#ga2efc984ff0647d3a3c4b29f7e9ec37e2" title="Reset internal arrays and streams to prepare another load. ">OCI_DirPathReset()</a> until all rows has been loaded</li>
<li>8 : Commit the load with <a class="el" href="group___ocilib_c_apidirect_path.html#ga7c80a8db7ef79e4693ac0e770bb2018f" title="Terminate a direct path operation and commit changes into the database. ">OCI_DirPathFinish()</a></li>
<li>9 : Free the direct path handle with <a class="el" href="group___ocilib_c_apidirect_path.html#ga024f04e69293349e3882b2f367a03ed6" title="Free an OCI_DirPath handle. ">OCI_DirPathFree()</a></li>
</ul>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;ocilib.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define SIZE_ARRAY 100</span></div>
<div class="line"><span class="preprocessor">#define NB_LOAD    10</span></div>
<div class="line"><span class="preprocessor">#define SIZE_COL1  20</span></div>
<div class="line"><span class="preprocessor">#define SIZE_COL2  30</span></div>
<div class="line"><span class="preprocessor">#define SIZE_COL3  8</span></div>
<div class="line"><span class="preprocessor">#define NUM_COLS   3</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{ </div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *cn;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a>    *dp;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a>   *tbl;</div>
<div class="line"></div>
<div class="line">    <span class="keywordtype">char</span> val1[SIZE_COL1+1];</div>
<div class="line">    <span class="keywordtype">char</span> val2[SIZE_COL2+1];</div>
<div class="line">    <span class="keywordtype">char</span> val3[SIZE_COL3+1];</div>
<div class="line"></div>
<div class="line">    <span class="keywordtype">int</span> i = 0, j = 0, nb_rows = SIZE_ARRAY;</div>
<div class="line">    <span class="keywordtype">boolean</span> res = TRUE;</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">if</span> (!<a class="code" href="group___ocilib_c_api_initialization.html#ga01464863ddd68393106b63fb8cc1ead1">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT))</div>
<div class="line">       <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"></div>
<div class="line">    cn  = <a class="code" href="group___ocilib_c_api_connections.html#ga5cd867ad94bdc4a3bbfdef24452262e0">OCI_ConnectionCreate</a>(<span class="stringliteral">&quot;db&quot;</span>, <span class="stringliteral">&quot;usr&quot;</span>, <span class="stringliteral">&quot;pwd&quot;</span>, OCI_SESSION_DEFAULT);</div>
<div class="line">    tbl = <a class="code" href="group___ocilib_c_api_metadata.html#ga541bb34a0a86c6296f59605f85931039">OCI_TypeInfoGet</a>(cn, <span class="stringliteral">&quot;test_directpath&quot;</span>, OCI_TIF_TABLE);</div>
<div class="line">    dp  = <a class="code" href="group___ocilib_c_apidirect_path.html#ga33415cbda0a997c10ae0815256701935">OCI_DirPathCreate</a>(tbl, NULL, NUM_COLS, nb_rows);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* optional attributes to set */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#gae25febeb9086f1604743fbf54a4cf677">OCI_DirPathSetBufferSize</a>(dp, 64000);</div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga59a031e1515afd31654105071dc7e371">OCI_DirPathSetNoLog</a>(dp, TRUE);</div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#gafab72b4c04bd2c5d3c850f58f5b22fd2">OCI_DirPathSetParallel</a>(dp, TRUE);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* describe the target table */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga37fecbbc3ecaa6c3ecfe33539aef1f69">OCI_DirPathSetColumn</a>(dp, 1, <span class="stringliteral">&quot;VAL_INT&quot;</span>,  SIZE_COL1, NULL);</div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga37fecbbc3ecaa6c3ecfe33539aef1f69">OCI_DirPathSetColumn</a>(dp, 2, <span class="stringliteral">&quot;VAL_STR&quot;</span>,  SIZE_COL2, NULL);</div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga37fecbbc3ecaa6c3ecfe33539aef1f69">OCI_DirPathSetColumn</a>(dp, 3, <span class="stringliteral">&quot;VAL_DATE&quot;</span>, SIZE_COL3, <span class="stringliteral">&quot;YYYYMMDD&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* prepare the load */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga31aae5239710847d43b90166fedf0419">OCI_DirPathPrepare</a>(dp);</div>
<div class="line"></div>
<div class="line">    nb_rows = <a class="code" href="group___ocilib_c_apidirect_path.html#ga2ff812128f1604615f186aa8bdf8269d">OCI_DirPathGetMaxRows</a>(dp);          </div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; NB_LOAD ; i++)</div>
<div class="line">    {</div>
<div class="line">        <a class="code" href="group___ocilib_c_apidirect_path.html#ga2efc984ff0647d3a3c4b29f7e9ec37e2">OCI_DirPathReset</a>(dp);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">for</span> (j = 1; j &lt;= nb_rows; j++)</div>
<div class="line">        {</div>
<div class="line">            <span class="comment">/* fill test values */</span></div>
<div class="line"></div>
<div class="line">            sprintf(val1, <span class="stringliteral">&quot;%04d&quot;</span>, i + (i*100));</div>
<div class="line">            sprintf(val2, <span class="stringliteral">&quot;value %05d&quot;</span>, j + (i*100));</div>
<div class="line">            sprintf(val3, <span class="stringliteral">&quot;%04d%02d%02d&quot;</span>, (j%23)+1 + 2000, (j%11)+1, (j%23)+1);</div>
<div class="line"></div>
<div class="line">            <a class="code" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608">OCI_DirPathSetEntry</a>(dp, j, 1, val1, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) strlen(val1), TRUE);</div>
<div class="line">            <a class="code" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608">OCI_DirPathSetEntry</a>(dp, j, 2, val2, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) strlen(val2), TRUE);</div>
<div class="line">            <a class="code" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608">OCI_DirPathSetEntry</a>(dp, j, 3, val3, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) strlen(val3), TRUE);</div>
<div class="line">        }</div>
<div class="line">        </div>
<div class="line">       <span class="comment">/* load data to the server */</span></div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">while</span> (res)</div>
<div class="line">        {</div>
<div class="line">            <span class="keywordtype">int</span> state = <a class="code" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76">OCI_DirPathConvert</a>(dp);</div>
<div class="line"></div>
<div class="line">            <span class="keywordflow">if</span> ((state == OCI_DPR_FULL) || (state == OCI_DPR_COMPLETE))</div>
<div class="line">                res = <a class="code" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456">OCI_DirPathLoad</a>(dp);</div>
<div class="line"></div>
<div class="line">            <span class="keywordflow">if</span> (state == OCI_DPR_COMPLETE)</div>
<div class="line">                <span class="keywordflow">break</span>;</div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* commits changes */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga7c80a8db7ef79e4693ac0e770bb2018f">OCI_DirPathFinish</a>(dp);</div>
<div class="line"></div>
<div class="line">    printf(<span class="stringliteral">&quot;%04d row(s) loaded\n&quot;</span>, <a class="code" href="group___ocilib_c_apidirect_path.html#gaffb07d43825826b0c9af060ee52fc3e0">OCI_DirPathGetRowCount</a>(dp));</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* free direct path object */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_apidirect_path.html#ga024f04e69293349e3882b2f367a03ed6">OCI_DirPathFree</a>(dp);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_api_initialization.html#ga639706aa8e9689c7ebffc018fac6d3ae">OCI_Cleanup</a>();</div>
<div class="line"></div>
<div class="line">   <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --> </dd></dl>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga33415cbda0a997c10ae0815256701935"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga33415cbda0a997c10ae0815256701935">OCI_DirPathCreate</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a> *typinf, const otext *partition, unsigned int nb_cols, unsigned int nb_rows)</td></tr>
<tr class="memdesc:ga33415cbda0a997c10ae0815256701935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a direct path object.  <a href="#ga33415cbda0a997c10ae0815256701935">More...</a><br /></td></tr>
<tr class="separator:ga33415cbda0a997c10ae0815256701935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga024f04e69293349e3882b2f367a03ed6"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga024f04e69293349e3882b2f367a03ed6">OCI_DirPathFree</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga024f04e69293349e3882b2f367a03ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an OCI_DirPath handle.  <a href="#ga024f04e69293349e3882b2f367a03ed6">More...</a><br /></td></tr>
<tr class="separator:ga024f04e69293349e3882b2f367a03ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37fecbbc3ecaa6c3ecfe33539aef1f69"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga37fecbbc3ecaa6c3ecfe33539aef1f69">OCI_DirPathSetColumn</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int index, const otext *name, unsigned int maxsize, const otext *format)</td></tr>
<tr class="memdesc:ga37fecbbc3ecaa6c3ecfe33539aef1f69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe a column to load into the given table.  <a href="#ga37fecbbc3ecaa6c3ecfe33539aef1f69">More...</a><br /></td></tr>
<tr class="separator:ga37fecbbc3ecaa6c3ecfe33539aef1f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31aae5239710847d43b90166fedf0419"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga31aae5239710847d43b90166fedf0419">OCI_DirPathPrepare</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga31aae5239710847d43b90166fedf0419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares the OCI direct path load interface before any rows can be converted or loaded.  <a href="#ga31aae5239710847d43b90166fedf0419">More...</a><br /></td></tr>
<tr class="separator:ga31aae5239710847d43b90166fedf0419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaadd5e79891c24d0f9c99ed96e5fe608"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608">OCI_DirPathSetEntry</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int row, unsigned int index, void *value, unsigned size, boolean complete)</td></tr>
<tr class="memdesc:gaaadd5e79891c24d0f9c99ed96e5fe608"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the given row/column array entry.  <a href="#gaaadd5e79891c24d0f9c99ed96e5fe608">More...</a><br /></td></tr>
<tr class="separator:gaaadd5e79891c24d0f9c99ed96e5fe608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dd680e9664028af035e773275e5ab76"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76">OCI_DirPathConvert</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga8dd680e9664028af035e773275e5ab76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert provided user data to the direct path stream format.  <a href="#ga8dd680e9664028af035e773275e5ab76">More...</a><br /></td></tr>
<tr class="separator:ga8dd680e9664028af035e773275e5ab76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c816466d046a3d8c179f779e273f456"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456">OCI_DirPathLoad</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga0c816466d046a3d8c179f779e273f456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the data converted to direct path stream format.  <a href="#ga0c816466d046a3d8c179f779e273f456">More...</a><br /></td></tr>
<tr class="separator:ga0c816466d046a3d8c179f779e273f456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2efc984ff0647d3a3c4b29f7e9ec37e2"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga2efc984ff0647d3a3c4b29f7e9ec37e2">OCI_DirPathReset</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga2efc984ff0647d3a3c4b29f7e9ec37e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset internal arrays and streams to prepare another load.  <a href="#ga2efc984ff0647d3a3c4b29f7e9ec37e2">More...</a><br /></td></tr>
<tr class="separator:ga2efc984ff0647d3a3c4b29f7e9ec37e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c80a8db7ef79e4693ac0e770bb2018f"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga7c80a8db7ef79e4693ac0e770bb2018f">OCI_DirPathFinish</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga7c80a8db7ef79e4693ac0e770bb2018f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate a direct path operation and commit changes into the database.  <a href="#ga7c80a8db7ef79e4693ac0e770bb2018f">More...</a><br /></td></tr>
<tr class="separator:ga7c80a8db7ef79e4693ac0e770bb2018f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga382a1cbd623aa97ca69fed7b26923d61"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga382a1cbd623aa97ca69fed7b26923d61">OCI_DirPathAbort</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga382a1cbd623aa97ca69fed7b26923d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate a direct path operation without committing changes.  <a href="#ga382a1cbd623aa97ca69fed7b26923d61">More...</a><br /></td></tr>
<tr class="separator:ga382a1cbd623aa97ca69fed7b26923d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39b093ea31cdee551552e35df8167a22"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga39b093ea31cdee551552e35df8167a22">OCI_DirPathSave</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga39b093ea31cdee551552e35df8167a22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute a data save-point (server side)  <a href="#ga39b093ea31cdee551552e35df8167a22">More...</a><br /></td></tr>
<tr class="separator:ga39b093ea31cdee551552e35df8167a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe3add5d1595fbabab7e197ce26f9a67"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gafe3add5d1595fbabab7e197ce26f9a67">OCI_DirPathFlushRow</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:gafe3add5d1595fbabab7e197ce26f9a67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes a partially loaded row from server.  <a href="#gafe3add5d1595fbabab7e197ce26f9a67">More...</a><br /></td></tr>
<tr class="separator:gafe3add5d1595fbabab7e197ce26f9a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0062665eba53e0b62be65d4f0ee0df55"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga0062665eba53e0b62be65d4f0ee0df55">OCI_DirPathSetCurrentRows</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int nb_rows)</td></tr>
<tr class="memdesc:ga0062665eba53e0b62be65d4f0ee0df55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current number of rows to convert and load.  <a href="#ga0062665eba53e0b62be65d4f0ee0df55">More...</a><br /></td></tr>
<tr class="separator:ga0062665eba53e0b62be65d4f0ee0df55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb5fd763a6a181a8aae27db13ca28735"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gafb5fd763a6a181a8aae27db13ca28735">OCI_DirPathGetCurrentRows</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:gafb5fd763a6a181a8aae27db13ca28735"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current number of rows used in the OCILIB internal arrays of rows.  <a href="#gafb5fd763a6a181a8aae27db13ca28735">More...</a><br /></td></tr>
<tr class="separator:gafb5fd763a6a181a8aae27db13ca28735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ff812128f1604615f186aa8bdf8269d"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga2ff812128f1604615f186aa8bdf8269d">OCI_DirPathGetMaxRows</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga2ff812128f1604615f186aa8bdf8269d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum number of rows allocated in the OCI and OCILIB internal arrays of rows.  <a href="#ga2ff812128f1604615f186aa8bdf8269d">More...</a><br /></td></tr>
<tr class="separator:ga2ff812128f1604615f186aa8bdf8269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa94047ee1fd5f923159d49ec3435082b"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gaa94047ee1fd5f923159d49ec3435082b">OCI_DirPathSetDateFormat</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, const otext *format)</td></tr>
<tr class="memdesc:gaa94047ee1fd5f923159d49ec3435082b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format string for input conversion.  <a href="#gaa94047ee1fd5f923159d49ec3435082b">More...</a><br /></td></tr>
<tr class="separator:gaa94047ee1fd5f923159d49ec3435082b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafab72b4c04bd2c5d3c850f58f5b22fd2"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gafab72b4c04bd2c5d3c850f58f5b22fd2">OCI_DirPathSetParallel</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, boolean value)</td></tr>
<tr class="memdesc:gafab72b4c04bd2c5d3c850f58f5b22fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the parallel loading mode.  <a href="#gafab72b4c04bd2c5d3c850f58f5b22fd2">More...</a><br /></td></tr>
<tr class="separator:gafab72b4c04bd2c5d3c850f58f5b22fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59a031e1515afd31654105071dc7e371"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga59a031e1515afd31654105071dc7e371">OCI_DirPathSetNoLog</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, boolean value)</td></tr>
<tr class="memdesc:ga59a031e1515afd31654105071dc7e371"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the logging mode for the loading operation.  <a href="#ga59a031e1515afd31654105071dc7e371">More...</a><br /></td></tr>
<tr class="separator:ga59a031e1515afd31654105071dc7e371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0976d38ccf4d6f09657115ad6e47880"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gaa0976d38ccf4d6f09657115ad6e47880">OCI_DirPathSetCacheSize</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int size)</td></tr>
<tr class="memdesc:gaa0976d38ccf4d6f09657115ad6e47880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set number of elements in the date cache.  <a href="#gaa0976d38ccf4d6f09657115ad6e47880">More...</a><br /></td></tr>
<tr class="separator:gaa0976d38ccf4d6f09657115ad6e47880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae25febeb9086f1604743fbf54a4cf677"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gae25febeb9086f1604743fbf54a4cf677">OCI_DirPathSetBufferSize</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int size)</td></tr>
<tr class="memdesc:gae25febeb9086f1604743fbf54a4cf677"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the size of the internal stream transfer buffer.  <a href="#gae25febeb9086f1604743fbf54a4cf677">More...</a><br /></td></tr>
<tr class="separator:gae25febeb9086f1604743fbf54a4cf677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac471686c49662bda2071cc4d7058e47f"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gac471686c49662bda2071cc4d7058e47f">OCI_DirPathSetConvertMode</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp, unsigned int mode)</td></tr>
<tr class="memdesc:gac471686c49662bda2071cc4d7058e47f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the direct path conversion mode.  <a href="#gac471686c49662bda2071cc4d7058e47f">More...</a><br /></td></tr>
<tr class="separator:gac471686c49662bda2071cc4d7058e47f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffb07d43825826b0c9af060ee52fc3e0"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gaffb07d43825826b0c9af060ee52fc3e0">OCI_DirPathGetRowCount</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:gaffb07d43825826b0c9af060ee52fc3e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of rows successfully loaded into the database so far.  <a href="#gaffb07d43825826b0c9af060ee52fc3e0">More...</a><br /></td></tr>
<tr class="separator:gaffb07d43825826b0c9af060ee52fc3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaade590aadb20d903770d9dc9c82ddb0c"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#gaade590aadb20d903770d9dc9c82ddb0c">OCI_DirPathGetAffectedRows</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:gaade590aadb20d903770d9dc9c82ddb0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the number of rows successfully processed during in the last conversion or loading call  <a href="#gaade590aadb20d903770d9dc9c82ddb0c">More...</a><br /></td></tr>
<tr class="separator:gaade590aadb20d903770d9dc9c82ddb0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga957a4d36b54166195cebeca461ddc7c4"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga957a4d36b54166195cebeca461ddc7c4">OCI_DirPathGetErrorColumn</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga957a4d36b54166195cebeca461ddc7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of a column which caused an error during data conversion.  <a href="#ga957a4d36b54166195cebeca461ddc7c4">More...</a><br /></td></tr>
<tr class="separator:ga957a4d36b54166195cebeca461ddc7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29e788b14e1e9ecd691c101c38f9e118"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118">OCI_DirPathGetErrorRow</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *dp)</td></tr>
<tr class="memdesc:ga29e788b14e1e9ecd691c101c38f9e118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of a row which caused an error during data conversion.  <a href="#ga29e788b14e1e9ecd691c101c38f9e118">More...</a><br /></td></tr>
<tr class="separator:ga29e788b14e1e9ecd691c101c38f9e118"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga33415cbda0a997c10ae0815256701935"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a>* OCI_API OCI_DirPathCreate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a> *&#160;</td>
          <td class="paramname"><em>typinf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const otext *&#160;</td>
          <td class="paramname"><em>partition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nb_cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nb_rows</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Create a direct path object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">typinf</td><td>- Table type info handle </td></tr>
    <tr><td class="paramname">partition</td><td>- Partition name </td></tr>
    <tr><td class="paramname">nb_cols</td><td>- Number of columns to load </td></tr>
    <tr><td class="paramname">nb_rows</td><td>- Maximum of rows to handle per load operation</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Retrieve the table type info handle with <a class="el" href="group___ocilib_c_api_metadata.html#ga541bb34a0a86c6296f59605f85931039" title="Retrieve the available type info information. ">OCI_TypeInfoGet()</a>. The partition name is not mandatory</dd>
<dd>
Parameter 'nb_rows' is ignored for Oracle 8i. Prior to Oracle 9i, it's the OCI client that decides of the number of rows to process per convert/load calls. From Oracle 9i, OCI allows application to specify this value. Note that, the OCI client might not accept the input value. After <a class="el" href="group___ocilib_c_apidirect_path.html#ga31aae5239710847d43b90166fedf0419" title="Prepares the OCI direct path load interface before any rows can be converted or loaded. ">OCI_DirPathPrepare()</a> has been successfully called, <a class="el" href="group___ocilib_c_apidirect_path.html#ga2ff812128f1604615f186aa8bdf8269d" title="Return the maximum number of rows allocated in the OCI and OCILIB internal arrays of rows...">OCI_DirPathGetMaxRows()</a> returns the final number of rows used for the given direct path operation.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return the direct path handle on success otherwise NULL on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#adf36e39ec5d2368398229cd1d67dc29f">ocilib::DirectPath::DirectPath()</a>.</p>

</div>
</div>
<a class="anchor" id="ga024f04e69293349e3882b2f367a03ed6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Free an OCI_DirPath handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#adf36e39ec5d2368398229cd1d67dc29f">ocilib::DirectPath::DirectPath()</a>.</p>

</div>
</div>
<a class="anchor" id="ga37fecbbc3ecaa6c3ecfe33539aef1f69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetColumn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const otext *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const otext *&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Describe a column to load into the given table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">index</td><td>- Column index </td></tr>
    <tr><td class="paramname">name</td><td>- Column name </td></tr>
    <tr><td class="paramname">maxsize</td><td>- Maximum input value size for a column entry </td></tr>
    <tr><td class="paramname">format</td><td>- Date or numeric format to use</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>An error is thrown if :<ul>
<li>If the column specified by the 'name' parameter is not found in the table referenced by the type info handle passed to <a class="el" href="group___ocilib_c_apidirect_path.html#ga33415cbda0a997c10ae0815256701935" title="Create a direct path object. ">OCI_DirPathCreate()</a></li>
<li>the index is out of bounds (= 0 or &gt;= number of columns)</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a0cd73f1a607984b5526980923dbbe5e5">ocilib::DirectPath::SetColumn()</a>.</p>

</div>
</div>
<a class="anchor" id="ga31aae5239710847d43b90166fedf0419"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathPrepare </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Prepares the OCI direct path load interface before any rows can be converted or loaded. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#ad0286dc56a2c9c1b3d3c5706f0d2a890">ocilib::DirectPath::Prepare()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaadd5e79891c24d0f9c99ed96e5fe608"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetEntry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>complete</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the value of the given row/column array entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">row</td><td>- Row index </td></tr>
    <tr><td class="paramname">index</td><td>- Column index </td></tr>
    <tr><td class="paramname">value</td><td>- Value to set </td></tr>
    <tr><td class="paramname">size</td><td>- Size of the input value </td></tr>
    <tr><td class="paramname">complete</td><td>- Is the entry content fully provided ?</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Rows and columns indexes start at 1.</dd>
<dd>
The 'size' parameter is expressed in number of :<ul>
<li>bytes for binary columns</li>
<li>characters for other columns</li>
</ul>
</dd>
<dd>
Direct path support piece loading for LONGs and LOBs columns. When filling these columns, it's possible to provide input buffer piece by piece. In order to do so :<ul>
<li>set the 'complete' parameter to FALSE</li>
<li>set the 'size' parameter to the piece size</li>
<li>Repeat calls to <a class="el" href="group___ocilib_c_apidirect_path.html#gaaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry. ">OCI_DirPathSetEntry()</a> until the data is totally provided</li>
<li>The last call that set the last piece or an entry must specify the value TRUE for the 'complete' parameter</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Current Direct Path OCILIB implementation DOES NOT support setting entry content piece by piece as mentioned above. It was planned in the original design but not supported yet. So, always set the complete parameter to TRUE. Setting entries content piece by piece may be supported in future releases</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#aac64c25b88b1ac5565b1a6404507b37f">ocilib::DirectPath::SetEntry()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8dd680e9664028af035e773275e5ab76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathConvert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Convert provided user data to the direct path stream format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible return values :<ul>
<li>OCI_DPR_COMPLETE : load has been successful</li>
<li>OCI_DPR_ERROR : an error happened while loading data</li>
<li>OCI_DPR_FULL : the internal stream is full</li>
<li>OCI_DPR_PARTIAL : a column hasn't been fully filled yet</li>
<li>OCI_DPR_EMPTY : no data was found to convert</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>When using conversion mode OCI_DCM_DEFAULT, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> stops when any error is encountered and returns OCI_DPR_ERROR</li>
<li>When using conversion mode OCI_DCM_FORCE, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> does not stop on errors. Instead it discards any erred rows and returns OCI_DPR_COMPLETE once all rows are processed.</li>
</ul>
</dd>
<dd>
List of faulted rows and columns can be retrieved using <a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118" title="Return the index of a row which caused an error during data conversion. ">OCI_DirPathGetErrorRow()</a> and <a class="el" href="group___ocilib_c_apidirect_path.html#ga957a4d36b54166195cebeca461ddc7c4" title="Return the index of a column which caused an error during data conversion. ">OCI_DirPathGetErrorColumn()</a></dd>
<dd>
<a class="el" href="group___ocilib_c_apidirect_path.html#gaade590aadb20d903770d9dc9c82ddb0c" title="return the number of rows successfully processed during in the last conversion or loading call ...">OCI_DirPathGetAffectedRows()</a> returns the number of rows converted in the last call. </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a9b23372744266404aa66464fb0180f2d">ocilib::DirectPath::Convert()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c816466d046a3d8c179f779e273f456"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathLoad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Loads the data converted to direct path stream format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible return values :<ul>
<li>OCI_DPR_COMPLETE : conversion has been successful</li>
<li>OCI_DPR_ERROR : an error happened while converting data</li>
<li>OCI_DPR_FULL : the internal stream is full</li>
<li>OCI_DPR_PARTIAL : a column hasn't been fully filled yet</li>
<li>OCI_DPR_EMPTY : no data was found to load</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>List of faulted rows can be retrieved using <a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118" title="Return the index of a row which caused an error during data conversion. ">OCI_DirPathGetErrorRow()</a></dd>
<dd>
<a class="el" href="group___ocilib_c_apidirect_path.html#gaade590aadb20d903770d9dc9c82ddb0c" title="return the number of rows successfully processed during in the last conversion or loading call ...">OCI_DirPathGetAffectedRows()</a> returns the number of rows successfully loaded in the last call. </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a697f8f26e85012d05749f5051e6c0e83">ocilib::DirectPath::Load()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2efc984ff0647d3a3c4b29f7e9ec37e2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathReset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Reset internal arrays and streams to prepare another load. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Once some data have been converted or loaded, <a class="el" href="group___ocilib_c_apidirect_path.html#ga2efc984ff0647d3a3c4b29f7e9ec37e2" title="Reset internal arrays and streams to prepare another load. ">OCI_DirPathReset()</a> resets internal OCI structures in order to prepare another load operation (set entries, convert and load)</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a743519d74b51f62064760b34721badf7">ocilib::DirectPath::Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7c80a8db7ef79e4693ac0e770bb2018f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathFinish </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Terminate a direct path operation and commit changes into the database. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>The direct path handle cannot be used anymore after this call for any more loading operations and must be freed with <a class="el" href="group___ocilib_c_apidirect_path.html#ga024f04e69293349e3882b2f367a03ed6" title="Free an OCI_DirPath handle. ">OCI_DirPathFree()</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Some properties functions of the direct path handle, such as <a class="el" href="group___ocilib_c_apidirect_path.html#gaffb07d43825826b0c9af060ee52fc3e0" title="Return the number of rows successfully loaded into the database so far. ">OCI_DirPathGetRowCount()</a> can be called on a terminated direct path handle</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#afe8ac43d59960e551f2f0678071ddcea">ocilib::DirectPath::Finish()</a>.</p>

</div>
</div>
<a class="anchor" id="ga382a1cbd623aa97ca69fed7b26923d61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathAbort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Terminate a direct path operation without committing changes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Any pending loaded data are canceled. Any load completion operations, such as index maintenance operations, are not performed.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The direct path handle cannot be used anymore after this call for any more loading operations and must be freed with <a class="el" href="group___ocilib_c_apidirect_path.html#ga024f04e69293349e3882b2f367a03ed6" title="Free an OCI_DirPath handle. ">OCI_DirPathFree()</a>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a2d9c9a8839c988e039166554a2415622">ocilib::DirectPath::Abort()</a>.</p>

</div>
</div>
<a class="anchor" id="ga39b093ea31cdee551552e35df8167a22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSave </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Execute a data save-point (server side) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Executing a data save-point is not allowed for LOBs</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a002373218128ca7cd450d0066eb54b88">ocilib::DirectPath::Save()</a>.</p>

</div>
</div>
<a class="anchor" id="gafe3add5d1595fbabab7e197ce26f9a67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathFlushRow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Flushes a partially loaded row from server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a54cb2bf34182bd99135313ecc63a8ee6">ocilib::DirectPath::FlushRow()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0062665eba53e0b62be65d4f0ee0df55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetCurrentRows </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nb_rows</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the current number of rows to convert and load. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">nb_rows</td><td>- Number of row to process</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>An OCILIB error will be thrown if the value exceeds the maximum number of rows in the internals arrays</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a03e7c618a67e0ac9194b554cec657c04">ocilib::DirectPath::SetCurrentRows()</a>.</p>

</div>
</div>
<a class="anchor" id="gafb5fd763a6a181a8aae27db13ca28735"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetCurrentRows </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the current number of rows used in the OCILIB internal arrays of rows. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Internal current array size on SUCCESS otherwise 0 </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#af129d6490413404cae1a9ebdd931f77d">ocilib::DirectPath::GetCurrentRows()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2ff812128f1604615f186aa8bdf8269d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetMaxRows </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the maximum number of rows allocated in the OCI and OCILIB internal arrays of rows. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Internal maximum array size on SUCCESS otherwise 0 </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#aa7784b877512190c4c90274e5a599685">ocilib::DirectPath::GetMaxRows()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa94047ee1fd5f923159d49ec3435082b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetDateFormat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const otext *&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the default date format string for input conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">format</td><td>- date format</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For string to date conversion, Oracle uses :<ul>
<li>Column date format</li>
<li>Default date format (modified by this call)</li>
<li>Default global support environment setting</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#acc1f4bfa6aae0bee6a2b88b3ffeb4d0c">ocilib::DirectPath::SetDateFormat()</a>.</p>

</div>
</div>
<a class="anchor" id="gafab72b4c04bd2c5d3c850f58f5b22fd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetParallel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the parallel loading mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">value</td><td>- enable/disable parallel mode</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Default value is FALSE.</dd>
<dd>
Setting the value to TRUE allows multiple load sessions to load the same segment concurrently</dd></dl>
<dl class="section user"><dt>Parallel loading mode (From Oracle documentation)</dt><dd></dd></dl>
<p>A direct load operation requires that the object being loaded is locked to prevent DML on the object. Note that queries are lock-free and are allowed while the object is being loaded.</p><ul>
<li>For a table load, if the option is set to:<ul>
<li>FALSE, then the table DML X-Lock is acquired.</li>
<li>TRUE, then the table DML S-Lock is acquired.</li>
</ul>
</li>
<li>For a partition load, if the option is set to:<ul>
<li>FALSE, then the table DML SX-Lock and partition DML X-Lock is acquired.</li>
<li>TRUE, then the table DML SS-Lock and partition DML S-Lock is acquired.</li>
</ul>
</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a9e60e3a35a9331d72d1a5501f3dd55c4">ocilib::DirectPath::SetParallel()</a>.</p>

</div>
</div>
<a class="anchor" id="ga59a031e1515afd31654105071dc7e371"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetNoLog </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the logging mode for the loading operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">value</td><td>- enable/disable logging</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Logging mode (from Oracle Documentation)</dt><dd></dd></dl>
<p>The NOLOG attribute of each segment determines whether image redo or invalidation redo is generated:</p><ul>
<li>FALSE : Use the attribute of the segment being loaded.</li>
<li>TRUE : No logging. Overrides DDL statement, if necessary.</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#adf37228a178a988904f39aec79d0211b">ocilib::DirectPath::SetNoLog()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa0976d38ccf4d6f09657115ad6e47880"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetCacheSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set number of elements in the date cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">size</td><td>- Buffer size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Default value is 0.</dd>
<dd>
Setting the value to 0 disables the cache</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a9e26a2be1961252dd01dffde99124b0c">ocilib::DirectPath::SetCacheSize()</a>.</p>

</div>
</div>
<a class="anchor" id="gae25febeb9086f1604743fbf54a4cf677"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetBufferSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the size of the internal stream transfer buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">size</td><td>- Buffer size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Default value is 64KB.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#acebf62b900e84684a2224eec285a79e7">ocilib::DirectPath::SetBufferSize()</a>.</p>

</div>
</div>
<a class="anchor" id="gac471686c49662bda2071cc4d7058e47f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_DirPathSetConvertMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Set the direct path conversion mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle </td></tr>
    <tr><td class="paramname">mode</td><td>- Conversion mode</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Possible values for parameter 'mode' :<ul>
<li>OCI_DCM_DEFAULT : conversion fails on error</li>
<li>OCI_DCM_FORCE : conversion does not fail on error</li>
</ul>
</dd>
<dd>
See <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> for conversion mode details</dd>
<dd>
Default value is OCI_DCM_DEFAULT</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a8f04ce5a447056ee80faea698f37713b">ocilib::DirectPath::SetConversionMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaffb07d43825826b0c9af060ee52fc3e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetRowCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the number of rows successfully loaded into the database so far. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Insertions are committed with <a class="el" href="group___ocilib_c_apidirect_path.html#ga7c80a8db7ef79e4693ac0e770bb2018f" title="Terminate a direct path operation and commit changes into the database. ">OCI_DirPathFinish()</a> </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a4b5055b1175dcfec3d7bf590d75b5e53">ocilib::DirectPath::GetRowCount()</a>.</p>

</div>
</div>
<a class="anchor" id="gaade590aadb20d903770d9dc9c82ddb0c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetAffectedRows </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>return the number of rows successfully processed during in the last conversion or loading call </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function called after :</dd></dl>
<ul>
<li><a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a>, returns the number of converted rows</li>
<li>OCI_DirPathload(), returns the number of loaded rows </li>
</ul>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a23fab4942a7720457454dd412cc6c8c0">ocilib::DirectPath::GetAffectedRows()</a>.</p>

</div>
</div>
<a class="anchor" id="ga957a4d36b54166195cebeca461ddc7c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetErrorColumn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the index of a column which caused an error during data conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Direct path column indexes start at 1.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Errors may happen while data is converted to direct path stream format using <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a>. When using conversion mode OCI_DCM_DEFAULT, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> returns OCI_DPR_ERROR on error. <a class="el" href="group___ocilib_c_apidirect_path.html#ga957a4d36b54166195cebeca461ddc7c4" title="Return the index of a column which caused an error during data conversion. ">OCI_DirPathGetErrorColumn()</a> returns the column index that caused the error When using conversion mode OCI_DCM_FORCE, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> returns OCI_DPR_COMPLETE even on errors. In order to retrieve the list of all column indexes that have erred, the application can call <a class="el" href="group___ocilib_c_apidirect_path.html#ga957a4d36b54166195cebeca461ddc7c4" title="Return the index of a column which caused an error during data conversion. ">OCI_DirPathGetErrorColumn()</a> repeatedly until it returns 0.</dd>
<dd>
The internal value is reset to 0 when calling <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 is no error occurs otherwise the index of the given column which caused an error </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#ab81431d2e05425bb5fa0fee529f2ea76">ocilib::DirectPath::GetErrorColumn()</a>.</p>

</div>
</div>
<a class="anchor" id="ga29e788b14e1e9ecd691c101c38f9e118"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_DirPathGetErrorRow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a> *&#160;</td>
          <td class="paramname"><em>dp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the index of a row which caused an error during data conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dp</td><td>- Direct path Handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Direct path row indexes start at 1.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Errors may happen :<ul>
<li>while data is converted to direct path stream format using <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a></li>
<li>while data is loaded to database using <a class="el" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format. ">OCI_DirPathLoad()</a></li>
</ul>
</dd>
<dd>
When using conversion mode OCI_DCM_DEFAULT, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> returns OCI_DPR_ERROR on error. <a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118" title="Return the index of a row which caused an error during data conversion. ">OCI_DirPathGetErrorRow()</a> returns the row index that caused the error. When using conversion mode OCI_DCM_FORCE, <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a> returns OCI_DPR_COMPLETE even on errors. In order to retrieve the list of all row indexes that have erred, the application can call <a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118" title="Return the index of a row which caused an error during data conversion. ">OCI_DirPathGetErrorRow()</a> repeatedly until it returns 0.</dd>
<dd>
After a call to <a class="el" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format. ">OCI_DirPathLoad()</a>, in order to retrieve the list of all faulted rows indexes, the application can call <a class="el" href="group___ocilib_c_apidirect_path.html#ga29e788b14e1e9ecd691c101c38f9e118" title="Return the index of a row which caused an error during data conversion. ">OCI_DirPathGetErrorRow()</a> repeatedly until it returns 0.</dd>
<dd>
The internal value is reset to 0 when calling <a class="el" href="group___ocilib_c_apidirect_path.html#ga8dd680e9664028af035e773275e5ab76" title="Convert provided user data to the direct path stream format. ">OCI_DirPathConvert()</a>, <a class="el" href="group___ocilib_c_apidirect_path.html#ga2efc984ff0647d3a3c4b29f7e9ec37e2" title="Reset internal arrays and streams to prepare another load. ">OCI_DirPathReset()</a> or <a class="el" href="group___ocilib_c_apidirect_path.html#ga0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format. ">OCI_DirPathLoad()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 is no error occurs otherwise the index of the given row which caused an error </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_direct_path.html#a60371cfb916412ac4d34bad78ae26ccd">ocilib::DirectPath::GetErrorRow()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 21 2016 22:26:37 for OCILIB (C and C++ Driver for Oracle) by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
